package com.briup.ch07;

import java.util.ArrayList;

/**
 * @Author briup-adam
 * @Date 2023/10/10 上午11:33
 * @Description
 **/

public class IntegerDemo {
    public static void main(String[] args) {
        //byte
        byte b = 1;
        Byte b1 = new Byte(b);
//        自动装箱  【将基本数据类型的值 包装成引用数据类型】
        b1 = 1;
        //short
        short s = 1;
        Short s1 = new Short(s);
        s1 = 1;

        int a = 1;
//int  ---》  integer
        Integer a1 = new Integer(1);
        a1 = Integer.valueOf(1);
//integer  ---》 int
        int i = a1.intValue();
        a1 = 1;
        System.out.println(a1.toString());


        Class a1Class = a1.getClass();
        Class aClass = int.class;


        System.out.println(a1Class);
        System.out.println(aClass);
        //自动拆箱  将引用数据类的值 拆解成基本数据类型的值
        a = a1;
        ArrayList list = new ArrayList();
        //这里的1 就是自动装箱
        list.add(1);
        //Long     =  long
//        Long l=1;
        Long l1 = (long) 1;


//        Integer 常用方法的使用
//        String 转int   10进制
        int i1 = Integer.parseInt("123");
        System.out.println(i1);
        // String 转int   2进制字符串 转换成整数
        int i2 = Integer.parseInt("1010101", 2);
        System.out.println(i2);
        // String 转int   8进制字符串 转换成整数
        int i3 = Integer.parseInt("40", 8);
        System.out.println(i3);
        // String 转int   16进制字符串 转换成整数
        int i4 = Integer.parseInt("abc", 16);
        System.out.println(i4);
        //int  转String  10进制
        String s2 = Integer.toString(40);
        System.out.println(s2);
        //int  转String  2进制
        String s3 = Integer.toString(40, 2);
        System.out.println(s3);
        String s4 = Integer.toBinaryString(40);
        System.out.println(s4);
        //int  转String  8进制
        String s5 = Integer.toString(40, 8);
        System.out.println(s5);
        String s6 = Integer.toOctalString(40);
        System.out.println(s6);
        //int  转String  16进制
        String s7 = Integer.toString(40, 16);
        System.out.println(s7);
        String s8 = Integer.toHexString(40);
        System.out.println(s8);

        Integer integer1=new Integer(1);
        Integer integer2=new Integer(1);
        System.out.println(integer1==integer2);//false
        System.out.println(System.identityHashCode(integer1));
        System.out.println(System.identityHashCode(integer2));
         integer1=1;
         integer2=1;
        System.out.println(integer1==integer2);//true
        System.out.println(System.identityHashCode(integer1));
        System.out.println(System.identityHashCode(integer2));
        integer1=128;
        integer2=128;
        System.out.println(integer1==integer2);//false
        System.out.println(System.identityHashCode(integer1));
        System.out.println(System.identityHashCode(integer2));

    }

}
